package bricolot;

import java.util.ArrayList;
import java.util.List;

import bricolot.exporter.IBricolotoExporter;

public class Garage {

	private String nom;
	private String adresse;
	private final List<Reparation> reparations = new ArrayList<Reparation>();

	public Garage(String nom, String adresse) {
		this.setNom(nom);
		this.setAdresse(adresse);
	}

	public Garage() {
		this(Util.lireChaine("Nom du garage     : "), Util
				.lireChaine("Adresse du garage : "));
	}

	public void ajouterRep() {
		Reparation r;
		if (Util.lireOuiNon("S'agit-il d'une moto ? "))
			r = new Moto();
		else
			r = new Voiture();
		getReparations().add(r);
	}

	public boolean supprimerRep(int i) {
		if (i < 0 || i >= getReparations().size())
			return false;
		getReparations().remove(i);
		return true;
	}

	public String toString() {
		StringBuffer res = new StringBuffer("[[GARAGE]] nom : " + getNom()
				+ " ; adresse : " + getAdresse());
		for (int i = 0; i < getReparations().size(); i++)
			res.append("\n    (" + i + ") " + getReparations().get(i));
		return res.toString();
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public String getAdresse() {
		return adresse;
	}

	public void setAdresse(String adresse) {
		this.adresse = adresse;
	}

	public List<Reparation> getReparations() {
		return reparations;
	}

	public void accept(IBricolotoExporter aBricolotoExporter) {
		aBricolotoExporter.visitGarage(this);
	}
}
